<!-- HTML header for doxygen 1.8.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: src/core/CL/cl_kernels/helpers_asymm.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Compute Library
   &#160;<span id="projectnumber">18.03</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
      <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.xhtml"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.xhtml"><span>File&#160;List</span></a></li>
      <li><a href="globals.xhtml"><span>Globals</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('helpers__asymm_8h.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">helpers_asymm.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="helpers_8h_source.xhtml">helpers.h</a>&quot;</code><br />
</div>
<p><a href="helpers__asymm_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:abf75e242631b23007e4046682aa57ec5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#abf75e242631b23007e4046682aa57ec5">ASYMM_ROUNDING_DIVIDE_BY_POW2_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="memdesc:abf75e242631b23007e4046682aa57ec5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Correctly-rounded-to-nearest division by a power-of-two.  <a href="#abf75e242631b23007e4046682aa57ec5">More...</a><br /></td></tr>
<tr class="separator:abf75e242631b23007e4046682aa57ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4b199221927cbabbf859e4d2efb688d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#ad4b199221927cbabbf859e4d2efb688d">ASYMM_MULT_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="memdesc:ad4b199221927cbabbf859e4d2efb688d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Product of two numbers, interpreting them as fixed-point values in the interval [-1, 1), rounding to the nearest value, and saturating -1 * -1 to the maximum value.  <a href="#ad4b199221927cbabbf859e4d2efb688d">More...</a><br /></td></tr>
<tr class="separator:ad4b199221927cbabbf859e4d2efb688d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d8a3968a069eb8abbc28d31c20f6b8c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a3d8a3968a069eb8abbc28d31c20f6b8c">ASYMM_EXP_ON_INTERVAL_BETWEEN_NEGATIVE_ONE_QUARTER_AND_0_EXCL_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="memdesc:a3d8a3968a069eb8abbc28d31c20f6b8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates \( exp(x) \) for x in [-1/4, 0).  <a href="#a3d8a3968a069eb8abbc28d31c20f6b8c">More...</a><br /></td></tr>
<tr class="separator:a3d8a3968a069eb8abbc28d31c20f6b8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0b4069b25ac886d5cb6eb3b76473f88"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#ab0b4069b25ac886d5cb6eb3b76473f88">ASYMM_SELECT_USING_MASK_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="memdesc:ab0b4069b25ac886d5cb6eb3b76473f88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Each bit of the result is set to the corresponding bit of either then_val or else_val depending on whether the corresponding bit of if_mask is set.  <a href="#ab0b4069b25ac886d5cb6eb3b76473f88">More...</a><br /></td></tr>
<tr class="separator:ab0b4069b25ac886d5cb6eb3b76473f88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c47a92ec76a1e367b45305c17d9ea88"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a8c47a92ec76a1e367b45305c17d9ea88">ASYMM_MASK_IF_ZERO_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="memdesc:a8c47a92ec76a1e367b45305c17d9ea88"><td class="mdescLeft">&#160;</td><td class="mdescRight">For each element of input vector, the corresponding bits of the result item are set if the input item is zero.  <a href="#a8c47a92ec76a1e367b45305c17d9ea88">More...</a><br /></td></tr>
<tr class="separator:a8c47a92ec76a1e367b45305c17d9ea88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dd3d8d22942f0ff3e59b4e32cfd4de3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a6dd3d8d22942f0ff3e59b4e32cfd4de3">ASYMM_MASK_IF_NON_ZERO_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="memdesc:a6dd3d8d22942f0ff3e59b4e32cfd4de3"><td class="mdescLeft">&#160;</td><td class="mdescRight">For each element of input vector, the corresponding bits of the result item are set if the input item is non-zero.  <a href="#a6dd3d8d22942f0ff3e59b4e32cfd4de3">More...</a><br /></td></tr>
<tr class="separator:a6dd3d8d22942f0ff3e59b4e32cfd4de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa12ca21cb9a54d2e4c26d57303fe44a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#aa12ca21cb9a54d2e4c26d57303fe44a7">EXP_BARREL_SHIFTER_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="separator:aa12ca21cb9a54d2e4c26d57303fe44a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d0a02b30d8cc5725d0a11781b488852"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a4d0a02b30d8cc5725d0a11781b488852">ASYMM_EXP_ON_NEGATIVE_VALUES_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="memdesc:a4d0a02b30d8cc5725d0a11781b488852"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates \( exp(x) \) for x &lt; 0.  <a href="#a4d0a02b30d8cc5725d0a11781b488852">More...</a><br /></td></tr>
<tr class="separator:a4d0a02b30d8cc5725d0a11781b488852"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a737312bc4a68c79a77cfab4849793bc0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a737312bc4a68c79a77cfab4849793bc0">ASYMM_SATURATING_ROUNDING_MULT_BY_POW2_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="memdesc:a737312bc4a68c79a77cfab4849793bc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the product of a integer value by a power of two, with either a positive exponent (equivalent to an arithmetic left shift, saturating) or a negative exponent (equivalent to an arithmetic right shift, rounding to nearest).  <a href="#a737312bc4a68c79a77cfab4849793bc0">More...</a><br /></td></tr>
<tr class="separator:a737312bc4a68c79a77cfab4849793bc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d97c6698c0e44424deae3f3130c55ac"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a8d97c6698c0e44424deae3f3130c55ac">ASYMM_ROUNDING_HALF_SUM_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="memdesc:a8d97c6698c0e44424deae3f3130c55ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates (a+b)/2, rounded to the nearest integer.  <a href="#a8d97c6698c0e44424deae3f3130c55ac">More...</a><br /></td></tr>
<tr class="separator:a8d97c6698c0e44424deae3f3130c55ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e53aa5d4cbcec7a0c0085838f32453d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a0e53aa5d4cbcec7a0c0085838f32453d">ASYMM_ONE_OVER_ONE_PLUS_X_FOR_X_IN_0_1_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="memdesc:a0e53aa5d4cbcec7a0c0085838f32453d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates \( 1 / (1 + x) \) for x in (0, 1).  <a href="#a0e53aa5d4cbcec7a0c0085838f32453d">More...</a><br /></td></tr>
<tr class="separator:a0e53aa5d4cbcec7a0c0085838f32453d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aace85e2a32bacdaa4e2d2055deabfc57"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#aace85e2a32bacdaa4e2d2055deabfc57">ASYMM_RESCALE_IMPL</a>(<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="memdesc:aace85e2a32bacdaa4e2d2055deabfc57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Considering the integer value as fixed-point, change the number of integer bits and update value accordingly.  <a href="#aace85e2a32bacdaa4e2d2055deabfc57">More...</a><br /></td></tr>
<tr class="separator:aace85e2a32bacdaa4e2d2055deabfc57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa43fc359dea64362f3016384f4269845"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#aa43fc359dea64362f3016384f4269845">ASYMM_ROUNDING_DIVIDE_BY_POW2</a>(x,  exponent,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;asymm_rounding_divide_by_POW2_##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(x, exponent)</td></tr>
<tr class="separator:aa43fc359dea64362f3016384f4269845"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5483aefd5e07244661178bfd3f434448"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>(a,  b,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;<a class="el" href="softmax__layer__quantized_8cl.xhtml#a525a42d38133b1051b8924b456add4a1">asymm_mult</a>##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a, b)</td></tr>
<tr class="separator:a5483aefd5e07244661178bfd3f434448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86de0ffca367bfcf27a8ae5dd1fdef2d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a86de0ffca367bfcf27a8ae5dd1fdef2d">ASYMM_MULT_BY_QUANT_MULTIPLIER_LESS_THAN_ONE</a>(x,  quantized_multiplier,  right_shift,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;<a class="el" href="helpers__asymm_8h.xhtml#aa43fc359dea64362f3016384f4269845">ASYMM_ROUNDING_DIVIDE_BY_POW2</a>(<a class="el" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>(x, quantized_multiplier, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>), right_shift, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
<tr class="separator:a86de0ffca367bfcf27a8ae5dd1fdef2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeebdcd88f4320931cd4a599ad1527e83"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#aeebdcd88f4320931cd4a599ad1527e83">ASYMM_EXP_ON_INTERVAL_BETWEEN_NEGATIVE_ONE_QUARTER_AND_0_EXCL</a>(a,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;asymm_exp_on_interval_between_negative_one_quarter_and_0_excl##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a)</td></tr>
<tr class="separator:aeebdcd88f4320931cd4a599ad1527e83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bc08a8c1833c5e6055ad6665e3ccf12"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a9bc08a8c1833c5e6055ad6665e3ccf12">ASYMM_SELECT_USING_MASK</a>(if_mask,  then_val,  else_val,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;asymm_select_using_mask##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(if_mask, then_val, else_val)</td></tr>
<tr class="separator:a9bc08a8c1833c5e6055ad6665e3ccf12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc6a76528024472919bb5d50d067578b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#afc6a76528024472919bb5d50d067578b">ASYMM_MASK_IF_ZERO</a>(a,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;asymm_mask_if_zero##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a)</td></tr>
<tr class="separator:afc6a76528024472919bb5d50d067578b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1d5450c9c4c13a6b7aa52af197b54b2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#af1d5450c9c4c13a6b7aa52af197b54b2">ASYMM_MASK_IF_NON_ZERO</a>(a,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;asymm_mask_if_non_zero##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a)</td></tr>
<tr class="separator:af1d5450c9c4c13a6b7aa52af197b54b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace9ecff421cf885ad2c2d72d87c492cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#ace9ecff421cf885ad2c2d72d87c492cb">EXP_BARREL_SHIFTER</a>(result,  exponent,  fp_multiplier,  k_integer_bits,  k_fractional_bits,  remainder,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;exp_barrel_shifter##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(result, exponent, fp_multiplier, k_integer_bits, k_fractional_bits, remainder)</td></tr>
<tr class="separator:ace9ecff421cf885ad2c2d72d87c492cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a4f1b5d8f1cd67ac31bc62c9a6f4aa8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a3a4f1b5d8f1cd67ac31bc62c9a6f4aa8">ASYMM_EXP_ON_NEGATIVE_VALUES</a>(a,  k_integer_bits,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;<a class="el" href="softmax__layer__quantized_8cl.xhtml#a54aedfa17c5ac2567107d5f488b0f4af">asymm_exp_on_negative_values</a>##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a, k_integer_bits)</td></tr>
<tr class="separator:a3a4f1b5d8f1cd67ac31bc62c9a6f4aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae77f34e1316d52c1ee84c35be9efb0d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#ae77f34e1316d52c1ee84c35be9efb0d8">ASYMM_ONE_OVER_ONE_PLUS_X_FOR_X_IN_0_1</a>(a,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;asymm_one_over_one_plus_x_for_x_in_0_1##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a)</td></tr>
<tr class="separator:ae77f34e1316d52c1ee84c35be9efb0d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cc3ff3a2eeb5f5e9d6743e08f632928"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a4cc3ff3a2eeb5f5e9d6743e08f632928">ASYMM_SATURATING_ROUNDING_MULT_BY_POW2</a>(x,  exponent,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;asymm_saturating_rounding_mult_by_pow2##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(x, exponent)</td></tr>
<tr class="separator:a4cc3ff3a2eeb5f5e9d6743e08f632928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad47fa44c1566aa4678fe524478490612"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#ad47fa44c1566aa4678fe524478490612">ASYMM_ROUNDING_HALF_SUM</a>(a,  b,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;asymm_rounding_half_sum##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a, b)</td></tr>
<tr class="separator:ad47fa44c1566aa4678fe524478490612"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98585f1bb84dea90aecbf59785c46151"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a98585f1bb84dea90aecbf59785c46151">ASYMM_RESCALE</a>(<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>,  src_integer_bits,  dst_integer_bits,  <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)&#160;&#160;&#160;<a class="el" href="softmax__layer__quantized_8cl.xhtml#ad57ea340cdcfeb2e1375b70c3ae59bae">asymm_rescale</a>##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, src_integer_bits, dst_integer_bits)</td></tr>
<tr class="separator:a98585f1bb84dea90aecbf59785c46151"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae62b2416b40ca28724c065e95e18a25b"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#ae62b2416b40ca28724c065e95e18a25b">asymm_rounding_divide_by_POW2_2</a> (int2 x, int exponent)</td></tr>
<tr class="separator:ae62b2416b40ca28724c065e95e18a25b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2660d5193f286b247cf533d8ca234e77"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a2660d5193f286b247cf533d8ca234e77">asymm_rounding_divide_by_POW2_4</a> (int4 x, int exponent)</td></tr>
<tr class="separator:a2660d5193f286b247cf533d8ca234e77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38afb1b30447264fd62ca7ad86e7ea19"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a38afb1b30447264fd62ca7ad86e7ea19">asymm_rounding_divide_by_POW2_8</a> (int8 x, int exponent)</td></tr>
<tr class="separator:a38afb1b30447264fd62ca7ad86e7ea19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21d65cd6ac14696d58509b82789db845"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a21d65cd6ac14696d58509b82789db845">asymm_rounding_divide_by_POW2_16</a> (int16 x, int exponent)</td></tr>
<tr class="separator:a21d65cd6ac14696d58509b82789db845"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5038b78913b76d782cc0aa0d841bd7ed"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a5038b78913b76d782cc0aa0d841bd7ed">asymm_mult2</a> (int2 a, int2 b)</td></tr>
<tr class="separator:a5038b78913b76d782cc0aa0d841bd7ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dca28649388d59ec0281af70d4507b2"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a6dca28649388d59ec0281af70d4507b2">asymm_mult4</a> (int4 a, int4 b)</td></tr>
<tr class="separator:a6dca28649388d59ec0281af70d4507b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a165b0bbab841712ea2c9a17a09bfa166"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a165b0bbab841712ea2c9a17a09bfa166">asymm_mult8</a> (int8 a, int8 b)</td></tr>
<tr class="separator:a165b0bbab841712ea2c9a17a09bfa166"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef32e3a9c804f145deb6b88f0a444919"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#aef32e3a9c804f145deb6b88f0a444919">asymm_mult16</a> (int16 a, int16 b)</td></tr>
<tr class="separator:aef32e3a9c804f145deb6b88f0a444919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eb88d417247a1b8b8929e5c8faeb48d"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a8eb88d417247a1b8b8929e5c8faeb48d">asymm_exp_on_interval_between_negative_one_quarter_and_0_excl2</a> (int2 a)</td></tr>
<tr class="separator:a8eb88d417247a1b8b8929e5c8faeb48d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43aa0011bd9b23ce3f691a9ae205fe07"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a43aa0011bd9b23ce3f691a9ae205fe07">asymm_exp_on_interval_between_negative_one_quarter_and_0_excl4</a> (int4 a)</td></tr>
<tr class="separator:a43aa0011bd9b23ce3f691a9ae205fe07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accb6ee0e0c578704ae23e6ab0a57cdd0"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#accb6ee0e0c578704ae23e6ab0a57cdd0">asymm_exp_on_interval_between_negative_one_quarter_and_0_excl8</a> (int8 a)</td></tr>
<tr class="separator:accb6ee0e0c578704ae23e6ab0a57cdd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d51b02a83af2a152fa52755f572f5a6"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a1d51b02a83af2a152fa52755f572f5a6">asymm_exp_on_interval_between_negative_one_quarter_and_0_excl16</a> (int16 a)</td></tr>
<tr class="separator:a1d51b02a83af2a152fa52755f572f5a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dade5bb9ed9aae49b6bb2875e273d89"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a0dade5bb9ed9aae49b6bb2875e273d89">asymm_select_using_mask2</a> (int2 if_mask, int2 then_val, int2 else_val)</td></tr>
<tr class="separator:a0dade5bb9ed9aae49b6bb2875e273d89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44e4d74ed42006c4153a9cb6c97285de"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a44e4d74ed42006c4153a9cb6c97285de">asymm_select_using_mask4</a> (int4 if_mask, int4 then_val, int4 else_val)</td></tr>
<tr class="separator:a44e4d74ed42006c4153a9cb6c97285de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64682bc22716ad771d012ce4c7398652"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a64682bc22716ad771d012ce4c7398652">asymm_select_using_mask8</a> (int8 if_mask, int8 then_val, int8 else_val)</td></tr>
<tr class="separator:a64682bc22716ad771d012ce4c7398652"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7effd9e7de9fefa9d4ae4eb2cfc06090"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a7effd9e7de9fefa9d4ae4eb2cfc06090">asymm_select_using_mask16</a> (int16 if_mask, int16 then_val, int16 else_val)</td></tr>
<tr class="separator:a7effd9e7de9fefa9d4ae4eb2cfc06090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ed499c821cf4f6b3bc4049d49e35139"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a6ed499c821cf4f6b3bc4049d49e35139">asymm_mask_if_zero2</a> (int2 a)</td></tr>
<tr class="separator:a6ed499c821cf4f6b3bc4049d49e35139"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed95c68d9545d401d2323cd8ad287fe1"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#aed95c68d9545d401d2323cd8ad287fe1">asymm_mask_if_zero4</a> (int4 a)</td></tr>
<tr class="separator:aed95c68d9545d401d2323cd8ad287fe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abefb0a278a588f03dc561db900df0958"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#abefb0a278a588f03dc561db900df0958">asymm_mask_if_zero8</a> (int8 a)</td></tr>
<tr class="separator:abefb0a278a588f03dc561db900df0958"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a509916b7ee582d87faf1312fde111c3b"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a509916b7ee582d87faf1312fde111c3b">asymm_mask_if_zero16</a> (int16 a)</td></tr>
<tr class="separator:a509916b7ee582d87faf1312fde111c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a885a16f240b119acc9f0721c07acdce9"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a885a16f240b119acc9f0721c07acdce9">asymm_mask_if_non_zero2</a> (int2 a)</td></tr>
<tr class="separator:a885a16f240b119acc9f0721c07acdce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f180955030087d7538d5dc89f29eba9"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a2f180955030087d7538d5dc89f29eba9">asymm_mask_if_non_zero4</a> (int4 a)</td></tr>
<tr class="separator:a2f180955030087d7538d5dc89f29eba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8de81d453a39d0f589b0d3e007c7fde1"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a8de81d453a39d0f589b0d3e007c7fde1">asymm_mask_if_non_zero8</a> (int8 a)</td></tr>
<tr class="separator:a8de81d453a39d0f589b0d3e007c7fde1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e1fef1353d2458beb7fab06cc8f460e"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a1e1fef1353d2458beb7fab06cc8f460e">asymm_mask_if_non_zero16</a> (int16 a)</td></tr>
<tr class="separator:a1e1fef1353d2458beb7fab06cc8f460e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad12110cc5f3099fa90b631e7b05772a0"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#ad12110cc5f3099fa90b631e7b05772a0">exp_barrel_shifter2</a> (int2 result, int exponent, int fp_multiplier, int k_integer_bits, int k_fractional_bits, int2 remainder)</td></tr>
<tr class="separator:ad12110cc5f3099fa90b631e7b05772a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a521e3ded9b6ca69692e9415ef9b4cee1"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a521e3ded9b6ca69692e9415ef9b4cee1">exp_barrel_shifter4</a> (int4 result, int exponent, int fp_multiplier, int k_integer_bits, int k_fractional_bits, int4 remainder)</td></tr>
<tr class="separator:a521e3ded9b6ca69692e9415ef9b4cee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a936aed524c644efcf20b28877e3a0f3f"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a936aed524c644efcf20b28877e3a0f3f">exp_barrel_shifter8</a> (int8 result, int exponent, int fp_multiplier, int k_integer_bits, int k_fractional_bits, int8 remainder)</td></tr>
<tr class="separator:a936aed524c644efcf20b28877e3a0f3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bde4cd395697b5d37af5116773f16ed"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a4bde4cd395697b5d37af5116773f16ed">exp_barrel_shifter16</a> (int16 result, int exponent, int fp_multiplier, int k_integer_bits, int k_fractional_bits, int16 remainder)</td></tr>
<tr class="separator:a4bde4cd395697b5d37af5116773f16ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35b98dc80eefc6ce799720861a668691"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a35b98dc80eefc6ce799720861a668691">asymm_exp_on_negative_values2</a> (int2 a, int k_integer_bits)</td></tr>
<tr class="separator:a35b98dc80eefc6ce799720861a668691"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1dda459c2b10a9620b2c14a928ed4ba"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#aa1dda459c2b10a9620b2c14a928ed4ba">asymm_exp_on_negative_values4</a> (int4 a, int k_integer_bits)</td></tr>
<tr class="separator:aa1dda459c2b10a9620b2c14a928ed4ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a429f20ad96413c1f7d4ee968afed6f0d"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a429f20ad96413c1f7d4ee968afed6f0d">asymm_exp_on_negative_values8</a> (int8 a, int k_integer_bits)</td></tr>
<tr class="separator:a429f20ad96413c1f7d4ee968afed6f0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae13cfab30e1d4c5f797f9d3d7c6acacf"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#ae13cfab30e1d4c5f797f9d3d7c6acacf">asymm_exp_on_negative_values16</a> (int16 a, int k_integer_bits)</td></tr>
<tr class="separator:ae13cfab30e1d4c5f797f9d3d7c6acacf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5d336b40941ee7c63a750b3dc92b030"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#ac5d336b40941ee7c63a750b3dc92b030">asymm_saturating_rounding_mult_by_pow22</a> (int2 x, int exponent)</td></tr>
<tr class="separator:ac5d336b40941ee7c63a750b3dc92b030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af06991bb67792a6fec9c426923f39745"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#af06991bb67792a6fec9c426923f39745">asymm_saturating_rounding_mult_by_pow24</a> (int4 x, int exponent)</td></tr>
<tr class="separator:af06991bb67792a6fec9c426923f39745"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bfbcc866bf09921d6bf4fc39cd38d89"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a1bfbcc866bf09921d6bf4fc39cd38d89">asymm_saturating_rounding_mult_by_pow28</a> (int8 x, int exponent)</td></tr>
<tr class="separator:a1bfbcc866bf09921d6bf4fc39cd38d89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88b3d0aae3bcf134f9eb4b5637a4b73c"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a88b3d0aae3bcf134f9eb4b5637a4b73c">asymm_saturating_rounding_mult_by_pow216</a> (int16 x, int exponent)</td></tr>
<tr class="separator:a88b3d0aae3bcf134f9eb4b5637a4b73c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd43480a8530400e781603a995adcad0"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#acd43480a8530400e781603a995adcad0">asymm_rounding_half_sum2</a> (int2 a, int2 b)</td></tr>
<tr class="separator:acd43480a8530400e781603a995adcad0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dda5bba50450367760a7ad1148881be"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a7dda5bba50450367760a7ad1148881be">asymm_rounding_half_sum4</a> (int4 a, int4 b)</td></tr>
<tr class="separator:a7dda5bba50450367760a7ad1148881be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acba55fb1a4dfa6ab5080cc276550d5fd"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#acba55fb1a4dfa6ab5080cc276550d5fd">asymm_rounding_half_sum8</a> (int8 a, int8 b)</td></tr>
<tr class="separator:acba55fb1a4dfa6ab5080cc276550d5fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab13b1910b09c0cf268f6a8af0e2013e2"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#ab13b1910b09c0cf268f6a8af0e2013e2">asymm_rounding_half_sum16</a> (int16 a, int16 b)</td></tr>
<tr class="separator:ab13b1910b09c0cf268f6a8af0e2013e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6524f601cf9a2ae69d5eab74576c93d0"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a6524f601cf9a2ae69d5eab74576c93d0">asymm_one_over_one_plus_x_for_x_in_0_12</a> (int2 a)</td></tr>
<tr class="separator:a6524f601cf9a2ae69d5eab74576c93d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a049439083adb7b960079832ad6367389"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a049439083adb7b960079832ad6367389">asymm_one_over_one_plus_x_for_x_in_0_14</a> (int4 a)</td></tr>
<tr class="separator:a049439083adb7b960079832ad6367389"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe37c90e62ee60565cbfbb38c4358fd6"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#abe37c90e62ee60565cbfbb38c4358fd6">asymm_one_over_one_plus_x_for_x_in_0_18</a> (int8 a)</td></tr>
<tr class="separator:abe37c90e62ee60565cbfbb38c4358fd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3316120c01b6c993ac8f2d3f2b4ff03"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#ac3316120c01b6c993ac8f2d3f2b4ff03">asymm_one_over_one_plus_x_for_x_in_0_116</a> (int16 a)</td></tr>
<tr class="separator:ac3316120c01b6c993ac8f2d3f2b4ff03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49b94bfc99276975c6fed32c693cbac5"><td class="memItemLeft" align="right" valign="top">int2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a49b94bfc99276975c6fed32c693cbac5">asymm_rescale2</a> (int2 <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, int src_integer_bits, int dst_integer_bits)</td></tr>
<tr class="separator:a49b94bfc99276975c6fed32c693cbac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f9d043040f28f051c7145281de94681"><td class="memItemLeft" align="right" valign="top">int4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a8f9d043040f28f051c7145281de94681">asymm_rescale4</a> (int4 <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, int src_integer_bits, int dst_integer_bits)</td></tr>
<tr class="separator:a8f9d043040f28f051c7145281de94681"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a478b69bea5edb6ad939d8e7edd9e7e3f"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a478b69bea5edb6ad939d8e7edd9e7e3f">asymm_rescale8</a> (int8 <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, int src_integer_bits, int dst_integer_bits)</td></tr>
<tr class="separator:a478b69bea5edb6ad939d8e7edd9e7e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a700e603af523859efb90ed4b52b41c84"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers__asymm_8h.xhtml#a700e603af523859efb90ed4b52b41c84">asymm_rescale16</a> (int16 <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, int src_integer_bits, int dst_integer_bits)</td></tr>
<tr class="separator:a700e603af523859efb90ed4b52b41c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="aeebdcd88f4320931cd4a599ad1527e83"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_EXP_ON_INTERVAL_BETWEEN_NEGATIVE_ONE_QUARTER_AND_0_EXCL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;asymm_exp_on_interval_between_negative_one_quarter_and_0_excl##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00298">298</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3d8a3968a069eb8abbc28d31c20f6b8c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_EXP_ON_INTERVAL_BETWEEN_NEGATIVE_ONE_QUARTER_AND_0_EXCL_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>) asymm_exp_on_interval_between_negative_one_quarter_and_0_excl<span class="preprocessor">##size(VEC_DATA_TYPE(int, size) a) \</span></div><div class="line"><span class="preprocessor">    {                                                                                                                               \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) constant_term     = 1895147668;                                                              \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) constant_1_over_3 = 715827883;                                                               \</span></div><div class="line"><span class="preprocessor">        const int k_fractional_bits = 31;                                                                                           \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                                    \</span></div><div class="line"><span class="preprocessor">        x = a + (1 &lt;&lt; (k_fractional_bits - 3));                                                                                     \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                                    \</span></div><div class="line"><span class="preprocessor">        x2 = ASYMM_MULT(x, x, size);                                                                                                \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                                    \</span></div><div class="line"><span class="preprocessor">        x3 = ASYMM_MULT(x2, x, size);                                                                                               \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                                    \</span></div><div class="line"><span class="preprocessor">        x4 = ASYMM_MULT(x2, x2, size);                                                                                              \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                                    \</span></div><div class="line"><span class="preprocessor">        x4_over_4 = ASYMM_ROUNDING_DIVIDE_BY_POW2(x4, 2, size);                                                                     \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                                    \</span></div><div class="line"><span class="preprocessor">        x4_over_24_plus_x3_over_6_plus_x2 = ASYMM_MULT((x4_over_4 + x3), constant_1_over_3, size) + x2;                             \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                                    \</span></div><div class="line"><span class="preprocessor">        x4_over_24_plus_x3_over_6_plus_x2_over_2 = ASYMM_ROUNDING_DIVIDE_BY_POW2(x4_over_24_plus_x3_over_6_plus_x2, 1, size);       \</span></div><div class="line"><span class="preprocessor">        return constant_term + ASYMM_MULT(constant_term, x + x4_over_24_plus_x3_over_6_plus_x2_over_2, size);                       \</span></div><div class="line"><span class="preprocessor">    }</span></div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00286">hwc.hpp:286</a></div></div>
<div class="ttc" id="fixed__point_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="fixed__point_8h_source.xhtml#l00093">fixed_point.h:93</a></div></div>
</div><!-- fragment -->
<p>Calculates \( exp(x) \) for x in [-1/4, 0). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of vector.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Result in fixed-point format Q0. </dd></dl>

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00076">76</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3a4f1b5d8f1cd67ac31bc62c9a6f4aa8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_EXP_ON_NEGATIVE_VALUES</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">k_integer_bits, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="softmax__layer__quantized_8cl.xhtml#a54aedfa17c5ac2567107d5f488b0f4af">asymm_exp_on_negative_values</a>##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a, k_integer_bits)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00303">303</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4d0a02b30d8cc5725d0a11781b488852"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_EXP_ON_NEGATIVE_VALUES_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculates \( exp(x) \) for x &lt; 0. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of vector.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Result in fixed-point format Q0. </dd></dl>

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00163">163</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="af1d5450c9c4c13a6b7aa52af197b54b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_MASK_IF_NON_ZERO</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;asymm_mask_if_non_zero##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00301">301</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6dd3d8d22942f0ff3e59b4e32cfd4de3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_MASK_IF_NON_ZERO_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>) asymm_mask_if_non_zero<span class="preprocessor">##size(VEC_DATA_TYPE(int, size) a) \</span></div><div class="line"><span class="preprocessor">    {                                                                                        \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) all_zeros = 0;                                        \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) all_ones  = ~0;                                       \</span></div><div class="line"><span class="preprocessor">        return select(all_zeros, all_ones, a != 0);                                          \</span></div><div class="line"><span class="preprocessor">    }</span></div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00286">hwc.hpp:286</a></div></div>
<div class="ttc" id="fixed__point_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="fixed__point_8h_source.xhtml#l00093">fixed_point.h:93</a></div></div>
</div><!-- fragment -->
<p>For each element of input vector, the corresponding bits of the result item are set if the input item is non-zero. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of vector.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Output vector with bits set when corresponding bit in <code>a</code> is non zero. </dd></dl>

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00135">135</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="afc6a76528024472919bb5d50d067578b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_MASK_IF_ZERO</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;asymm_mask_if_zero##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00300">300</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8c47a92ec76a1e367b45305c17d9ea88"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_MASK_IF_ZERO_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>) asymm_mask_if_zero<span class="preprocessor">##size(VEC_DATA_TYPE(int, size) a) \</span></div><div class="line"><span class="preprocessor">    {                                                                                    \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) all_zeros = 0;                                    \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) all_ones  = ~0;                                   \</span></div><div class="line"><span class="preprocessor">        return select(all_zeros, all_ones, a == 0);                                      \</span></div><div class="line"><span class="preprocessor">    }</span></div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00286">hwc.hpp:286</a></div></div>
<div class="ttc" id="fixed__point_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="fixed__point_8h_source.xhtml#l00093">fixed_point.h:93</a></div></div>
</div><!-- fragment -->
<p>For each element of input vector, the corresponding bits of the result item are set if the input item is zero. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of vector.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Output vector with bits set when corresponding bit in <code>a</code> is zero. </dd></dl>

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00120">120</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5483aefd5e07244661178bfd3f434448"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_MULT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="softmax__layer__quantized_8cl.xhtml#a525a42d38133b1051b8924b456add4a1">asymm_mult</a>##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a, b)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00295">295</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a86de0ffca367bfcf27a8ae5dd1fdef2d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_MULT_BY_QUANT_MULTIPLIER_LESS_THAN_ONE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">quantized_multiplier, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">right_shift, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers__asymm_8h.xhtml#aa43fc359dea64362f3016384f4269845">ASYMM_ROUNDING_DIVIDE_BY_POW2</a>(<a class="el" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>(x, quantized_multiplier, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>), right_shift, <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00296">296</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

<p>Referenced by <a class="el" href="direct__convolution__1x1__3x3__5x5__quantized_8cl_source.xhtml#l00278">output_stage_quantized()</a>.</p>

</div>
</div>
<a class="anchor" id="ad4b199221927cbabbf859e4d2efb688d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_MULT_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>) <a class="code" href="softmax__layer__quantized_8cl.xhtml#a525a42d38133b1051b8924b456add4a1">asymm_mult</a><span class="preprocessor">##size(VEC_DATA_TYPE(int, size) a, VEC_DATA_TYPE(int, size) b) \</span></div><div class="line"><span class="preprocessor">    {                                                                                                        \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                             \</span></div><div class="line"><span class="preprocessor">        overflow = a == b &amp;&amp; a == INT_MIN;                                                                   \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(long, size)                                                                            \</span></div><div class="line"><span class="preprocessor">        a_64 = convert_long##size(a);                                                                        \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(long, size)                                                                            \</span></div><div class="line"><span class="preprocessor">        b_64 = convert_long##size(b);                                                                        \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(long, size)                                                                            \</span></div><div class="line"><span class="preprocessor">        ab_64 = a_64 * b_64;                                                                                 \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                             \</span></div><div class="line"><span class="preprocessor">        ab_x2_high32 = convert_int##size(((ab_64 + (1 &lt;&lt; 30)) &gt;&gt; 31));                                       \</span></div><div class="line"><span class="preprocessor">        return select(ab_x2_high32, INT_MAX, overflow);                                                      \</span></div><div class="line"><span class="preprocessor">    }</span></div><div class="ttc" id="softmax__layer__quantized_8cl_xhtml_a525a42d38133b1051b8924b456add4a1"><div class="ttname"><a href="softmax__layer__quantized_8cl.xhtml#a525a42d38133b1051b8924b456add4a1">asymm_mult</a></div><div class="ttdeci">#define asymm_mult(a, b)</div><div class="ttdef"><b>Definition:</b> <a href="softmax__layer__quantized_8cl_source.xhtml#l00056">softmax_layer_quantized.cl:56</a></div></div>
<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00286">hwc.hpp:286</a></div></div>
<div class="ttc" id="fixed__point_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="fixed__point_8h_source.xhtml#l00093">fixed_point.h:93</a></div></div>
</div><!-- fragment -->
<p>Product of two numbers, interpreting them as fixed-point values in the interval [-1, 1), rounding to the nearest value, and saturating -1 * -1 to the maximum value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of vector.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Product of two fixed-point numbers. </dd></dl>

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00054">54</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae77f34e1316d52c1ee84c35be9efb0d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_ONE_OVER_ONE_PLUS_X_FOR_X_IN_0_1</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;asymm_one_over_one_plus_x_for_x_in_0_1##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00304">304</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0e53aa5d4cbcec7a0c0085838f32453d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_ONE_OVER_ONE_PLUS_X_FOR_X_IN_0_1_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>) asymm_one_over_one_plus_x_for_x_in_0_1<span class="preprocessor">##size(VEC_DATA_TYPE(int, size) a) \</span></div><div class="line"><span class="preprocessor">    {                                                                                                        \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) Q0_one = INT_MAX;                                                     \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) Q2_one = 1 &lt;&lt; (31 - 2);                                               \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                             \</span></div><div class="line"><span class="preprocessor">        half_denominator = ASYMM_ROUNDING_HALF_SUM(a, Q0_one, size);                                         \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) Q2_48_over_17     = 1515870810;                                       \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) Q2_neg_32_over_17 = -1010580540;                                      \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                             \</span></div><div class="line"><span class="preprocessor">        x = Q2_48_over_17 + ASYMM_MULT(half_denominator, Q2_neg_32_over_17, size);                           \</span></div><div class="line"><span class="preprocessor">        for(int i = 0; i &lt; 3; i++)                                                                           \</span></div><div class="line"><span class="preprocessor">        {                                                                                                    \</span></div><div class="line"><span class="preprocessor">            VEC_DATA_TYPE(int, size)                                                                         \</span></div><div class="line"><span class="preprocessor">            half_denominator_times_x = ASYMM_MULT(half_denominator, x, size);                                \</span></div><div class="line"><span class="preprocessor">            VEC_DATA_TYPE(int, size)                                                                         \</span></div><div class="line"><span class="preprocessor">            one_minus_half_denominator_times_x = Q2_one - half_denominator_times_x;                          \</span></div><div class="line"><span class="preprocessor">            VEC_DATA_TYPE(int, size)                                                                         \</span></div><div class="line"><span class="preprocessor">            tmp = ASYMM_MULT(x, one_minus_half_denominator_times_x, size);                                   \</span></div><div class="line"><span class="preprocessor">            x   = x + ASYMM_SATURATING_ROUNDING_MULT_BY_POW2(tmp, 2, size);                                  \</span></div><div class="line"><span class="preprocessor">        }                                                                                                    \</span></div><div class="line"><span class="preprocessor">        return ASYMM_SATURATING_ROUNDING_MULT_BY_POW2(x, 1, size);                                           \</span></div><div class="line"><span class="preprocessor">    }</span></div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00286">hwc.hpp:286</a></div></div>
<div class="ttc" id="fixed__point_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="fixed__point_8h_source.xhtml#l00093">fixed_point.h:93</a></div></div>
</div><!-- fragment -->
<p>Calculates \( 1 / (1 + x) \) for x in (0, 1). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of vector.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Result in fixed-point format Q0. </dd></dl>

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00257">257</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a98585f1bb84dea90aecbf59785c46151"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_RESCALE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">src_integer_bits, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dst_integer_bits, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="softmax__layer__quantized_8cl.xhtml#ad57ea340cdcfeb2e1375b70c3ae59bae">asymm_rescale</a>##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, src_integer_bits, dst_integer_bits)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00307">307</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="aace85e2a32bacdaa4e2d2055deabfc57"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_RESCALE_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>) <a class="code" href="softmax__layer__quantized_8cl.xhtml#ad57ea340cdcfeb2e1375b70c3ae59bae">asymm_rescale</a><span class="preprocessor">##size(VEC_DATA_TYPE(int, size) value, int src_integer_bits, int dst_integer_bits) \</span></div><div class="line"><span class="preprocessor">    {                                                                                                                               \</span></div><div class="line"><span class="preprocessor">        int exponent = src_integer_bits - dst_integer_bits;                                                                         \</span></div><div class="line"><span class="preprocessor">        return ASYMM_SATURATING_ROUNDING_MULT_BY_POW2(value, exponent, size);                                                       \</span></div><div class="line"><span class="preprocessor">    }</span></div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00286">hwc.hpp:286</a></div></div>
<div class="ttc" id="softmax__layer__quantized_8cl_xhtml_ad57ea340cdcfeb2e1375b70c3ae59bae"><div class="ttname"><a href="softmax__layer__quantized_8cl.xhtml#ad57ea340cdcfeb2e1375b70c3ae59bae">asymm_rescale</a></div><div class="ttdeci">#define asymm_rescale(value, src_integer_bits, dst_integer_bits)</div><div class="ttdef"><b>Definition:</b> <a href="softmax__layer__quantized_8cl_source.xhtml#l00058">softmax_layer_quantized.cl:58</a></div></div>
<div class="ttc" id="fixed__point_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="fixed__point_8h_source.xhtml#l00093">fixed_point.h:93</a></div></div>
</div><!-- fragment -->
<p>Considering the integer value as fixed-point, change the number of integer bits and update value accordingly. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of vector.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Rescaled value. </dd></dl>

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00287">287</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa43fc359dea64362f3016384f4269845"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_ROUNDING_DIVIDE_BY_POW2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">exponent, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;asymm_rounding_divide_by_POW2_##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(x, exponent)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00294">294</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="abf75e242631b23007e4046682aa57ec5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_ROUNDING_DIVIDE_BY_POW2_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>) asymm_rounding_divide_by_POW2_<span class="preprocessor">##size(VEC_DATA_TYPE(int, size) x, int exponent) \</span></div><div class="line"><span class="preprocessor">    {                                                                                                              \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                   \</span></div><div class="line"><span class="preprocessor">        mask = (1 &lt;&lt; exponent) - 1;                                                                                \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) zero = 0;                                                                   \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) one  = 1;                                                                   \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                   \</span></div><div class="line"><span class="preprocessor">        threshold = (mask &gt;&gt; 1) + select(zero, one, x &lt; 0);                                                        \</span></div><div class="line"><span class="preprocessor">        return (x &gt;&gt; exponent) + select(zero, one, (x &amp; mask) &gt; threshold);                                        \</span></div><div class="line"><span class="preprocessor">    }</span></div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00286">hwc.hpp:286</a></div></div>
<div class="ttc" id="fixed__point_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="fixed__point_8h_source.xhtml#l00093">fixed_point.h:93</a></div></div>
</div><!-- fragment -->
<p>Correctly-rounded-to-nearest division by a power-of-two. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of vector.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Correctly-rounded-to-nearest division by a power-of-two. </dd></dl>

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00035">35</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad47fa44c1566aa4678fe524478490612"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_ROUNDING_HALF_SUM</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;asymm_rounding_half_sum##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(a, b)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00306">306</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8d97c6698c0e44424deae3f3130c55ac"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_ROUNDING_HALF_SUM_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>) asymm_rounding_half_sum<span class="preprocessor">##size(VEC_DATA_TYPE(int, size) a, VEC_DATA_TYPE(int, size) b) \</span></div><div class="line"><span class="preprocessor">    {                                                                                                                     \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(long, size)                                                                                         \</span></div><div class="line"><span class="preprocessor">        a64 = convert_long##size(a);                                                                                      \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(long, size)                                                                                         \</span></div><div class="line"><span class="preprocessor">        b64 = convert_long##size(b);                                                                                      \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(long, size)                                                                                         \</span></div><div class="line"><span class="preprocessor">        sum = a64 + b64;                                                                                                  \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(long, size) one       = 1;                                                                    \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(long, size) minus_one = -1;                                                                   \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(long, size)                                                                                         \</span></div><div class="line"><span class="preprocessor">        sign = select(minus_one, one, sum &gt;= 0);                                                                          \</span></div><div class="line"><span class="preprocessor">        return convert_int##size((sum + sign) / 2);                                                                       \</span></div><div class="line"><span class="preprocessor">    }</span></div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00286">hwc.hpp:286</a></div></div>
<div class="ttc" id="fixed__point_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="fixed__point_8h_source.xhtml#l00093">fixed_point.h:93</a></div></div>
</div><!-- fragment -->
<p>Calculates (a+b)/2, rounded to the nearest integer. </p>
<p>Equivalent to VRHADD in the ARM NEON instruction set.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of vector.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>(a+b)/2, rounded to the nearest integer. </dd></dl>

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00235">235</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4cc3ff3a2eeb5f5e9d6743e08f632928"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_SATURATING_ROUNDING_MULT_BY_POW2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">exponent, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;asymm_saturating_rounding_mult_by_pow2##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(x, exponent)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00305">305</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a737312bc4a68c79a77cfab4849793bc0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_SATURATING_ROUNDING_MULT_BY_POW2_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>) asymm_saturating_rounding_mult_by_pow2<span class="preprocessor">##size(VEC_DATA_TYPE(int, size) x, int exponent) \</span></div><div class="line"><span class="preprocessor">    {                                                                                                                      \</span></div><div class="line"><span class="preprocessor">        if(exponent &lt; 0)                                                                                                   \</span></div><div class="line"><span class="preprocessor">        {                                                                                                                  \</span></div><div class="line"><span class="preprocessor">            return ASYMM_ROUNDING_DIVIDE_BY_POW2(x, -exponent, size);                                                      \</span></div><div class="line"><span class="preprocessor">        }                                                                                                                  \</span></div><div class="line"><span class="preprocessor">        \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) min = INT_MIN;                                                                      \</span></div><div class="line"><span class="preprocessor">        const VEC_DATA_TYPE(int, size) max = INT_MAX;                                                                      \</span></div><div class="line"><span class="preprocessor">        int threshold = ((1 &lt;&lt; (31 - exponent)) - 1);                                                                      \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                           \</span></div><div class="line"><span class="preprocessor">        positive_mask = ASYMM_MASK_IF_NON_ZERO(x &gt; threshold, size);                                                       \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                           \</span></div><div class="line"><span class="preprocessor">        negative_mask = ASYMM_MASK_IF_NON_ZERO(x &lt; -threshold, size);                                                      \</span></div><div class="line"><span class="preprocessor">        VEC_DATA_TYPE(int, size)                                                                                           \</span></div><div class="line"><span class="preprocessor">        result = x &lt;&lt; exponent;                                                                                            \</span></div><div class="line"><span class="preprocessor">        result = ASYMM_SELECT_USING_MASK(positive_mask, max, result, size);                                                \</span></div><div class="line"><span class="preprocessor">        result = ASYMM_SELECT_USING_MASK(negative_mask, min, result, size);                                                \</span></div><div class="line"><span class="preprocessor">        return result;                                                                                                     \</span></div><div class="line"><span class="preprocessor">    }</span></div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00286">hwc.hpp:286</a></div></div>
<div class="ttc" id="fixed__point_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="fixed__point_8h_source.xhtml#l00093">fixed_point.h:93</a></div></div>
</div><!-- fragment -->
<p>Calculates the product of a integer value by a power of two, with either a positive exponent (equivalent to an arithmetic left shift, saturating) or a negative exponent (equivalent to an arithmetic right shift, rounding to nearest). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of vector.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Arithmetic left or right shift. </dd></dl>

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00206">206</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9bc08a8c1833c5e6055ad6665e3ccf12"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_SELECT_USING_MASK</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">if_mask, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">then_val, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">else_val, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;asymm_select_using_mask##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(if_mask, then_val, else_val)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00299">299</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab0b4069b25ac886d5cb6eb3b76473f88"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASYMM_SELECT_USING_MASK_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>) asymm_select_using_mask<span class="preprocessor">##size(VEC_DATA_TYPE(int, size) if_mask, VEC_DATA_TYPE(int, size) then_val, VEC_DATA_TYPE(int, size) else_val) \</span></div><div class="line"><span class="preprocessor">    {                                                                                                                                                                     \</span></div><div class="line"><span class="preprocessor">        return (if_mask &amp; then_val) ^ (~if_mask &amp; else_val);                                                                                                              \</span></div><div class="line"><span class="preprocessor">    }</span></div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00286">hwc.hpp:286</a></div></div>
<div class="ttc" id="fixed__point_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="fixed__point_8h_source.xhtml#l00093">fixed_point.h:93</a></div></div>
</div><!-- fragment -->
<p>Each bit of the result is set to the corresponding bit of either then_val or else_val depending on whether the corresponding bit of if_mask is set. </p>
<p>Equivalent to the VBSL instruction in ARM NEON.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of vector.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Result contaning bits from <code>then_val</code> or from <code>else_val</code> depending on corresponding bit in <code>if_mask</code> is set or not. </dd></dl>

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00107">107</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="ace9ecff421cf885ad2c2d72d87c492cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EXP_BARREL_SHIFTER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">result, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">exponent, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fp_multiplier, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">k_integer_bits, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">k_fractional_bits, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">remainder, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;exp_barrel_shifter##<a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>(result, exponent, fp_multiplier, k_integer_bits, k_fractional_bits, remainder)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00302">302</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa12ca21cb9a54d2e4c26d57303fe44a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EXP_BARREL_SHIFTER_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>) exp_barrel_shifter<span class="preprocessor">##size(VEC_DATA_TYPE(int, size) result, int exponent, int fp_multiplier, int k_integer_bits, int k_fractional_bits, VEC_DATA_TYPE(int, size) remainder) \</span></div><div class="line"><span class="preprocessor">    {                                                                                                                                                                                                         \</span></div><div class="line"><span class="preprocessor">        if(k_integer_bits &gt; exponent)                                                                                                                                                                         \</span></div><div class="line"><span class="preprocessor">        {                                                                                                                                                                                                     \</span></div><div class="line"><span class="preprocessor">            const int k_shift_amount = k_integer_bits &gt; exponent ? k_fractional_bits + exponent : 0;                                                                                                          \</span></div><div class="line"><span class="preprocessor">            return ASYMM_SELECT_USING_MASK(                                                                                                                                                                   \</span></div><div class="line"><span class="preprocessor">                    ASYMM_MASK_IF_NON_ZERO(remainder &amp; (1 &lt;&lt; k_shift_amount), size),                                                                                                                              \</span></div><div class="line"><span class="preprocessor">                    ASYMM_MULT(result, fp_multiplier, size), result, size);                                                                                                                                       \</span></div><div class="line"><span class="preprocessor">        }                                                                                                                                                                                                     \</span></div><div class="line"><span class="preprocessor">        \</span></div><div class="line"><span class="preprocessor">        return result;                                                                                                                                                                                        \</span></div><div class="line"><span class="preprocessor">    }</span></div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00286">hwc.hpp:286</a></div></div>
<div class="ttc" id="fixed__point_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="fixed__point_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="fixed__point_8h_source.xhtml#l00093">fixed_point.h:93</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00143">143</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a1d51b02a83af2a152fa52755f572f5a6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 asymm_exp_on_interval_between_negative_one_quarter_and_0_excl16 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00322">322</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8eb88d417247a1b8b8929e5c8faeb48d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 asymm_exp_on_interval_between_negative_one_quarter_and_0_excl2 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00319">319</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a43aa0011bd9b23ce3f691a9ae205fe07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 asymm_exp_on_interval_between_negative_one_quarter_and_0_excl4 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00320">320</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="accb6ee0e0c578704ae23e6ab0a57cdd0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 asymm_exp_on_interval_between_negative_one_quarter_and_0_excl8 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00321">321</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae13cfab30e1d4c5f797f9d3d7c6acacf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 asymm_exp_on_negative_values16 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_integer_bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00347">347</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a35b98dc80eefc6ce799720861a668691"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 asymm_exp_on_negative_values2 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_integer_bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00344">344</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa1dda459c2b10a9620b2c14a928ed4ba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 asymm_exp_on_negative_values4 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_integer_bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00345">345</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a429f20ad96413c1f7d4ee968afed6f0d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 asymm_exp_on_negative_values8 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_integer_bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00346">346</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1e1fef1353d2458beb7fab06cc8f460e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 asymm_mask_if_non_zero16 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00337">337</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a885a16f240b119acc9f0721c07acdce9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 asymm_mask_if_non_zero2 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00334">334</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2f180955030087d7538d5dc89f29eba9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 asymm_mask_if_non_zero4 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00335">335</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8de81d453a39d0f589b0d3e007c7fde1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 asymm_mask_if_non_zero8 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00336">336</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a509916b7ee582d87faf1312fde111c3b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 asymm_mask_if_zero16 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00332">332</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6ed499c821cf4f6b3bc4049d49e35139"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 asymm_mask_if_zero2 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00329">329</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="aed95c68d9545d401d2323cd8ad287fe1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 asymm_mask_if_zero4 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00330">330</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="abefb0a278a588f03dc561db900df0958"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 asymm_mask_if_zero8 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00331">331</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="aef32e3a9c804f145deb6b88f0a444919"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 asymm_mult16 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00317">317</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5038b78913b76d782cc0aa0d841bd7ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 asymm_mult2 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00314">314</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6dca28649388d59ec0281af70d4507b2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 asymm_mult4 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00315">315</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a165b0bbab841712ea2c9a17a09bfa166"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 asymm_mult8 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00316">316</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac3316120c01b6c993ac8f2d3f2b4ff03"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 asymm_one_over_one_plus_x_for_x_in_0_116 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00362">362</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6524f601cf9a2ae69d5eab74576c93d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 asymm_one_over_one_plus_x_for_x_in_0_12 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00359">359</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a049439083adb7b960079832ad6367389"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 asymm_one_over_one_plus_x_for_x_in_0_14 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00360">360</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="abe37c90e62ee60565cbfbb38c4358fd6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 asymm_one_over_one_plus_x_for_x_in_0_18 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00361">361</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a700e603af523859efb90ed4b52b41c84"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 asymm_rescale16 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>src_integer_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dst_integer_bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00367">367</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a49b94bfc99276975c6fed32c693cbac5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 asymm_rescale2 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>src_integer_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dst_integer_bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00364">364</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8f9d043040f28f051c7145281de94681"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 asymm_rescale4 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>src_integer_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dst_integer_bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00365">365</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a478b69bea5edb6ad939d8e7edd9e7e3f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 asymm_rescale8 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>src_integer_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dst_integer_bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00366">366</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a21d65cd6ac14696d58509b82789db845"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 asymm_rounding_divide_by_POW2_16 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00312">312</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae62b2416b40ca28724c065e95e18a25b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 asymm_rounding_divide_by_POW2_2 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00309">309</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2660d5193f286b247cf533d8ca234e77"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 asymm_rounding_divide_by_POW2_4 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00310">310</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a38afb1b30447264fd62ca7ad86e7ea19"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 asymm_rounding_divide_by_POW2_8 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00311">311</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab13b1910b09c0cf268f6a8af0e2013e2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 asymm_rounding_half_sum16 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00357">357</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="acd43480a8530400e781603a995adcad0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 asymm_rounding_half_sum2 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00354">354</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7dda5bba50450367760a7ad1148881be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 asymm_rounding_half_sum4 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00355">355</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="acba55fb1a4dfa6ab5080cc276550d5fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 asymm_rounding_half_sum8 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00356">356</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a88b3d0aae3bcf134f9eb4b5637a4b73c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 asymm_saturating_rounding_mult_by_pow216 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00352">352</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac5d336b40941ee7c63a750b3dc92b030"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 asymm_saturating_rounding_mult_by_pow22 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00349">349</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="af06991bb67792a6fec9c426923f39745"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 asymm_saturating_rounding_mult_by_pow24 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00350">350</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1bfbcc866bf09921d6bf4fc39cd38d89"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 asymm_saturating_rounding_mult_by_pow28 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00351">351</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7effd9e7de9fefa9d4ae4eb2cfc06090"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 asymm_select_using_mask16 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>if_mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>then_val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>else_val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00327">327</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0dade5bb9ed9aae49b6bb2875e273d89"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 asymm_select_using_mask2 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>if_mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>then_val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>else_val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00324">324</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a44e4d74ed42006c4153a9cb6c97285de"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 asymm_select_using_mask4 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>if_mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>then_val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>else_val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00325">325</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a64682bc22716ad771d012ce4c7398652"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 asymm_select_using_mask8 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>if_mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>then_val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>else_val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00326">326</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4bde4cd395697b5d37af5116773f16ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int16 exp_barrel_shifter16 </td>
          <td>(</td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fp_multiplier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_integer_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_fractional_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16&#160;</td>
          <td class="paramname"><em>remainder</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00342">342</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad12110cc5f3099fa90b631e7b05772a0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int2 exp_barrel_shifter2 </td>
          <td>(</td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fp_multiplier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_integer_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_fractional_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int2&#160;</td>
          <td class="paramname"><em>remainder</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00339">339</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a521e3ded9b6ca69692e9415ef9b4cee1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int4 exp_barrel_shifter4 </td>
          <td>(</td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fp_multiplier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_integer_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_fractional_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int4&#160;</td>
          <td class="paramname"><em>remainder</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00340">340</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
<a class="anchor" id="a936aed524c644efcf20b28877e3a0f3f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8 exp_barrel_shifter8 </td>
          <td>(</td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exponent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fp_multiplier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_integer_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k_fractional_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int8&#160;</td>
          <td class="paramname"><em>remainder</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00341">341</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.xhtml">core</a></li><li class="navelem"><a class="el" href="dir_8c278f79c760e5c5fbd911f9870614c1.xhtml">CL</a></li><li class="navelem"><a class="el" href="dir_25885286e9dad4fa105b7b25a8031bbf.xhtml">cl_kernels</a></li><li class="navelem"><a class="el" href="helpers__asymm_8h.xhtml">helpers_asymm.h</a></li>
    <li class="footer">Generated on Fri Mar 2 2018 12:37:55 for Compute Library by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
